package it.univaq.mwt.arssa.business;

import it.univaq.mwt.arssa.business.model.Ferie;

import it.univaq.mwt.arssa.business.model.TipoFerie;


import java.util.Date;
import java.util.List;

public interface FerieService {
	
	/*
	 * Metodi per i tipi di ferie 
	 */	
	List<TipoFerie> cercaTipoFerie();	
	TipoFerie cercaTipoFerie(int id);
	void inserisciTipoFerie(TipoFerie tipoFerie);
	void modificaTipoFerie(TipoFerie tipoFerie);
	void eliminaTipoFerie(int id);
	boolean verificaTipoFerie(String nome);
	
	/*
	 * Metodi per le ferie 
	 */
	List<Ferie> cercaFerie();	
	List<Ferie> cercaFerieDipendente(int idDipendente);	
	Ferie cercaFerie(int id);	
	Date convertiData(String data);	
	String inserisciFerie(Ferie ferie);		
	/*
	 * Elimina il piano ferie di un dipendente. 
	 * Restituisce:
	 *  - 0 se il piano ferie viene eliminato senza errori.
	 *  - 1 se si sta tentando di eliminare un piano ferie di un altro dipendente
	 *  - 2 se si sta tentando di eliminare un piano ferie precedente alla data attuale o un piano ferie in corso
	 */
	int eliminaFerie(int dipendente,int id);
	void eliminaFerie(int id);
}
